package cn.iocoder.yudao.module.signature.controller.admin.device.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

@Schema(description = "管理后台 - 苹果设备信息新增/修改 Request VO")
@Data
public class AppleDeviceSaveReqVO {

    @Schema(description = "开发者id", requiredMode = Schema.RequiredMode.REQUIRED, example = "23884")
    private Long id;

    @Schema(description = "udid", requiredMode = Schema.RequiredMode.REQUIRED, example = "16986")
    @NotEmpty(message = "udid不能为空")
    private String udid;

    @Schema(description = "苹果设备id", requiredMode = Schema.RequiredMode.REQUIRED, example = "32691")
    @NotEmpty(message = "苹果设备id不能为空")
    private String deviceId;

    @Schema(description = "苹果证书id", requiredMode = Schema.RequiredMode.REQUIRED, example = "16749")
    @NotEmpty(message = "苹果证书id不能为空")
    private String cerId;

    @Schema(description = "苹果证书编码", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "苹果证书编码不能为空")
    private String cerNumber;

    @Schema(description = "苹果开发者账号id", requiredMode = Schema.RequiredMode.REQUIRED, example = "4055")
    @NotNull(message = "苹果开发者账号id不能为空")
    private Long appAccountId;

    @Schema(description = "账号类型（公共 个人）", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotEmpty(message = "账号类型（公共 个人）不能为空")
    private String accountType;

    @Schema(description = "质保类型（公共 个人）", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    private String warrantyType;

    @Schema(description = "类别 预约秒出", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private String classType;

    @Schema(description = "版本 摆烂 躺平 加强", requiredMode = Schema.RequiredMode.REQUIRED)
    private String orderVersion;

    @Schema(description = "证书名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
    @NotEmpty(message = "证书名称不能为空")
    private String cerName;

    @Schema(description = "p12文件路径", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn")
    @NotEmpty(message = "p12文件路径不能为空")
    private String p12Url;

    @Schema(description = "p12密码", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "p12密码不能为空")
    private String p12Password;

    @Schema(description = "描述文件路径", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn")
    @NotEmpty(message = "描述文件路径不能为空")
    private String mpUrl;


    @Schema(description = "用户id", requiredMode = Schema.RequiredMode.NOT_REQUIRED, example = "用户id")
    private Long  userId;

    @Schema(description = "设备名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "设备名称")
    private String deviceModel;
}